User Interface for Dynamic Presentation Text

ABSTRACT

An apparatus, method and article of manufacture of the present invention provide improved rate of text presentation to a reader. The invention provides a method for defining a region of the display at which text is preferably read, and further provides a user interface for adjusting the speed of text display according to a screen location corresponding to that at which text is being read at any time.

RELATED APPLICATIONS

This application is a continuation of application Ser. No. 09/628,729,filed Jul. 28, 2000, which is a continuation in part of application Ser.No. 09/015,660 filed Jan. 29, 1998, to which priority under 35 U.S.C.§120 is claimed. This application contains material from No. 08/818,152,which was filed Mar. 14, 1997, incorporated by reference in No.09/015,660, and issued as U.S. Pat. No. 6,067,069. The specification ofNo. 09/015,660 is incorporated herein by reference.

BACKGROUND OF THE INVENTION

This invention relates generally to the fields of information processingand display by computers, and human-machine interfaces for computers.The present invention further relates to providing the user with aninterface to control the speed at which text is imaged on a computerdisplay. The present invention further provides this interface in amanner which permits optimization of reading speed while minimizing theneed to make changes in the fixation of the user's eyes.

DESCRIPTION OF THE RELEVANT ART

In the current art, computer programs which display text to a reader donot permit optimization of the user's reading speed. When the readerreaches the bottom of a page of displayed text, some manual operation isnecessary to advance the display to the next page of text, resulting ina need to retrain the eye on a new location and a consequent loss ofreading speed. Alternatively, in teleprompter type systems, text issimply presented at a constant rate, independently of the desire of thespeaker to change rates as she speaks. Currently available text displaysystems, including printed books, also require frequent changes in thelocation of eye fixation in order to permit rapid reading of a text.

One alternative is for the text to scroll from the bottom of a textwindow, but in practice, the need to manually advance the text using ascroll bar interferes with the reader's comprehension and enjoyment ofthe text. Only rarely can the user optimize the speed of text display tocorrespond with a desired reading speed. The need to simultaneously payattention to a scroll bar and to the text further distracts the readerand requires frequent changes in the location of eye fixation.

While it would be possible to set the text to scroll from the end of atext window at a fixed rate of speed, thereby obviating the need to payattention to a scroll bar, this strategy would have the disadvantagesthat the selected speed might not correspond precisely to the reader'swishes, and that the reader's desired speed of text reading might changeas eye fatigue sets in or as the material being read varies incomplexity or in level of interest to the reader. Thus, providing thereader with a method to signal the computer regarding desired changes inrate of text display in a way which minimizes changes in ocular fixationand requires minimal manual input would be a significant advance overthe current art. This represents an entirely new style of reading, inwhich text is dynamically provided to the reader by a computer system ata precisely optimized rate, rather than requiring the reader torepeatedly change locations of eye fixations as she or he reads througha statically displayed text.

Thus, the current art imposes the following disadvantages on a reader ofa text who desires to maximize his or her reading speed while minimizingdistractions and fatigue associated with extra eye movements.

First, no method exists in the current art to provide for variable speedpresentation of text, in accordance with the reader's own interpretationof the level of difficulty of the text or level of interest in the text,as the text is being presented.

Second, no method exists in the current art to provide for variablespeed presentation of text, without requiring manual signalling of thecomputer between pages or as the text is scrolled.

Third, no method exists in the current art to dynamically optimize therate of text presentation to correspond precisely with a reader's actualreading speed.

The present invention derives from the observation that if text werecontinuously scrolled from the end of a page, if the rate of textpresentation were too slow, there would be a reader to find himselfreading ahead of the optimal reading location. On the other hand, if therate of text presentation were too fast, the reader would find himselfreading behind the optimal reading location. According to the method,changes in the position of a cursor which is associated with a cursorcontrol device are used as a cue for changing the rate of textpresentation. In a preferred embodiment, this cursor control device isassociated with the position at which text is being read, such thatleaving the cursor in a predefined neutral zone does not change the rateof text display, but moving the cursor to a position associated withtext coming after that displayed in the predefined neutral zone (to an“acceleration zone”) increases the rate of text display, and moving thecursor to a position associated with text coming before that displayedin the predefined neutral zone (to a “deceleration zone”) decreases therate of text display. Moving the cursor to another predefined location(in a preferred embodiment, to the left or right edge of the screen)stops text advance. In another preferred embodiment, the cursor movementmay be determined by computer-assisted recognition of the location atwhich text is being read aloud.

This invention is in part enabled by the current art, which providesmethods to signal a computer system regarding location of ocularfixation or detection of head movements, for example, U.S. Pat. Nos.5,583,335, 5,526,022, 5,517,021, 5,422,689, 5,367,315, 5,360,971. Othermethods of detecting direction of eye fixation or of head movement mayalso be used. Examples include sensors which consist of a ball within ahollow sphere surrounded by detectors, such that changes in headmovement are detected as changes in the location of the ball within thesphere, and methods based on video input from a display-mounted camera,which interpret eye fixation and permit definition of an area on thescreen which is being looked at. Alternatively, devices which identifychanges in head movement or in the location being looked at on thedisplay could be used. In addition, various other devices, including“virtual reality machines” (including goggles), in which a computerdisplay is integrated into a device which collects information on eye orhead movements and provides them to a computer, could also be adapted tothis purpose. Computer-assisted methods can also be used to determinethe location at which text is being read aloud; for example, theinvention may use voice recognition software to control a cursorlocation by causing the cursor to be located at the location in the textat which the reader is reading aloud. These hardware and softwaredevices provide mechanisms to enhance the utility of the presentinvention, an improved user interface which could be used with these andother cursor control devices.

This invention is further enabled by the current art of computerprogramming, which permits a computer programmer of ordinary skill toperform the programming steps necessary to implement this invention withreference to this description and the accompanying drawings.

OBJECTS AND SUMMARY OF THE INVENTION

The present invention provides an improved user interface for reading atext that provides enhanced functionality and flexibility overconventional methods of reading text.

One object of the present invention is to provide an improvedteleprompter device that provides text to the reader at a rate thatcorresponds to the rate at which the reader is reading the text.

Another object of the present invention is to use information aboutwhere text is being read aloud to signal the computer system to increaseor decrease the rate of text display in accordance with this cue.

Another object of the present invention is to take advantage of naturaleye or head movements to signal the computer system to increase ordecrease the rate of text display in accordance with these cues.

Another object of the present invention is to permit a reader todesignate at least one preferred region on the screen (called the“neutral zone”) such that the rate of text presentation remainsapproximately constant when the reader is reading text presented in thisregion.

Another object of the present invention is to provide a variable rate oftext presentation that approximates the rate at which the reader isactually reading the text.

Another object of the present invention is to permit a reader to signalthe computer to scroll backwards through a text, if necessary, to find adesired passage or to reread information of special interest.

Another object of the present invention is to permit a reader todesignate screen regions such that when the computer is signaled thattext is being read from these regions, the rate of text presentation isaccelerated or decelerated. Among other embodiments, this may be aaccomplished by providing a mathematical function of the distance fromthe neutral zone, such that head or eye movement to positions outsidethe neutral zone causes the rate of text presentation to decelerate oraccelerate according to this function of the distance.

Another object of the present invention is to permit a reader tooptimize his or her reading speed through a text, according precisely tohis or her preferences.

Another object of the present invention is to improve a reader'scomprehension of a text, by minimizing external distractions as the textis being read.

The present invention, as broadly described herein, provides a userinterface and method for using a computer system to permit a reader tooptimize the rate at which text is presented on a computer displaycontrolled by the computer, comprising the steps of determining thelocation on the computer display at which text is being read by thereader, and varying the rate at which text is presented in response tothe result of the location-determining step. In a preferred embodiment,the invention comprises the steps of 1) defining a cursor location as alocation on the display corresponding to that at which text is beingread, 2) defining a neutral zone as at least one region of the displayat which reading or other consumption of information presented by thecomputer system preferably takes place, 3) defining at least one regionof the display as a deceleration zone, associated with the presentationof text which comes before the text displayed in the neutral zone at anygiven time, such that when the defined cursor signifies a locationwithin a deceleration zone, the rate of text presentation decreasesaccording to a mathematical function of the distance between the cursorlocation and the neutral zone, and 4) defining at least one region ofthe display as an acceleration zone, associated with the presentation oftext which comes after the text displayed in the neutral zone at anygiven time, such that when the defined cursor signifies a locationwithin an acceleration zone, the rate of text presentation increasesaccording to a mathematical function of the distance between the cursorlocation and the neutral zone. The neutral zone is normally furtherdefined such that the rate of text presentation does not appreciablychange when text within the neutral zone is being read. A method toinstantly stop continued presentation of text is also provided. One suchmethod is the definition of stop zones on the display, such that theuser may easily cause continuous presentation of text to stop by movingthe cursor to a location corresponding to a stop zone.

The mathematical functions which define the effect of reading text atdifferent positions outside the neutral zone may be continuous ordiscrete functions of distance from the neutral zone, and are normallynon-decreasing functions of distance from the neutral zone, such thatthe farther away from the neutral zone the reader is, the more dramaticthe effect on the rate of text presentation may be. In addition, in asimple embodiment, the function may be a constant, such that all cursorlocations in a given type of zone yield the same effect on rate of textpresentation.

The various zones, such as the neutral zone, stop zones, accelerationzones and deceleration zones may be defined graphically, using acursor-control device to specify their limits and shapes. These zonesmay be differentiated from one another on the display by altering theattributes of text displayed in each zone, or by providing differentbackgrounds within each zone. In this manner, the user can adjust thenon-rate parameters associated with text presentation to match hisreading style or needs.

The cursor position which corresponds to the position at which text isbeing read may be determined by any cursor control device, including onewhich responds to eye, head or hand movements, or to audio input.

In a specific preferred embodiment, the invention comprises using acomputer system to determine the location on the computer display atwhich text is being read aloud by the reader, and to vary the rate atwhich text is presented in response to the result of thelocation-determining step.

Also, according to the present invention, a computer system comprisingmeans for effectuating the method of the present invention is provided.Further according to the present invention, computer-readable memoryencoded with a program directing the computer system to effectuate themethod of the present invention is also provided.

Additional objects and advantages of the invention are set forth in partin the description that follows, and in part are obvious from thedescription, or may be learned by practice of the invention. The objectsand advantages of the invention may also be realized and attained bymeans of the instrumentalities and combinations particularly pointed outin the appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate particular embodiments of theinvention, and together with the description, serve to explain theprinciples of the invention.

FIG. 1 presents a block diagram of a computer system as may be utilizedby the present invention.

FIG. 2 presents a flowchart, diagramming the two major steps of theinvention, interface setup and the actual interface.

FIG. 3 illustrates a sample text display block, such as that which couldbe presented by text presentation or word processing programs. Regionson this block are shown to illustrate the function of the invention asdescribed below in the detailed description of the preferredembodiments.

FIG. 4 illustrates a teleprompter embodiment of the invention, in whichthe described method can be used to optimize the speed at which text isread aloud.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Reference will now be made in detail to the present preferredembodiments of the invention, examples of which are illustrated in theaccompanying drawings. The steps required to practice this invention arereadily accomplished by a person of ordinary skill in the art ofcomputer programming, with reference to this description and theaccompanying drawings.

The invention is described in the context of a computer system (100), aspictured in FIG. 1, which consists of a Central Processing Unit (102),memory and/or storage (which may include random access short term memory[104] or long-term storage such as a hard disk or other disk drives[108]), a Control function (106), and, a display device such as amonitor (110), and one or more cursor control devices (128). Inaddition, such systems may contain additional means for input such as akeyboard (112), auxiliary input and storage devices (126), includingscanners (124), audio input such as a microphone (118), audio outputsuch as amplified loudspeakers (120), and access to other computersystems via modem (116) or networks (122). The preferred embodiment isdescribed in the context of a computer system which is capable ofrunning programs in a Windows™ environment.

FIG. 2 presents a flow diagram of the invention. While the invention canbe practiced in a manner different from that depicted in the flowdiagram, the flow diagram provides a useful overview for understandingthe invention. The invention involves, among other things, the use of acomputer system, such as that depicted in FIG. 1, to display electronictext stored in the computer system or stored external to the computersystem. As shown in FIG. 2, the invention comprises two steps, that ofuser interface setup (200) and the actual use of the interface (220). Insome embodiments, the setup function might be performed in advance bythe author of a computer program, or some other individual besides theend-user, leaving the user to use the interface as described. In otherembodiments, the user has the flexibility to modify one or moreparameters associated with the interface. In a preferred embodiment, theuser may modify these parameters at any time while using the invention.

In a preferred embodiment, the setup procedure comprises the steps ofquerying the user via a dialog box regarding desired values forparameters which affect the user interface (202) and of storing theresponses (204). Examples of parameters affecting the interface includethe pathway that text takes as it advances across the display, includingdesignation of the location on the display of the neutral zone (which isthe preferred reading area), deceleration zones (for the display of textwhich comes before that displayed in the neutral zone) and accelerationzones (for the display of text which comes after that displayed in theneutral zone). The neutral zone is broadly defined as the preferredreading area, which may encompass one or more discrete portions of thedisplay, which together comprise a neutral zone. Input may also beaccepted regarding a mathematical function ∂_(T)(defined below) used todetermine the amount by which the rate of text display accelerates ordecelerates depending on the cursor location or a function d_(T) (alsodefined below) describing distance between items displayed at differentscreen locations. In a preferred embodiment, the neutral zone is definedgraphically, using a cursor control device to outline the limits of theneutral zone. Other zones, corresponding to acceleration anddeceleration zones, may also be defined graphically. The units of therate function r_(T)(defined below) may be defined in different units ofspeed (e.g., words per unit time, lines per unit time, characters perunit time). In some embodiments, the invention may itself providepreprogrammed functions, from which the user may select via a menu orsome other method well known in the current art. In a preferredembodiment, cursor locations which signal the invention to stop textadvance are also defined as stop zones; most users would define this asa region on either side of the display screen. This permits the user tostop continuous updating of text when interrupted, simply by turning herhead. A stop zone might also preferably be defined at the upper marginof a deceleration zone, to permit the user to readily stop continuedpresentation of additional text when text of interest is about to leavethe display.

After collecting information regarding the configuration of theinterface, in a preferred embodiment the computer system stores thisinformation (204) in a manner which permits its retrieval as theinterface functions, and also permits the user access to the sameparameter set on other occasions, obviating the need to completelyredefine the parameters on each use of the invention.

The normal use of the interface (220) comprises the steps of thecomputer system determining the cursor location (225), and changing thespeed of text scrolling (240-246) depending on that location (230-236).A text is defined as any material which is meant to be presented in acertain linear order, for example, characters, numbers, figures or othergraphics. Scrolling on a region of a display is defined as the movementof text along a predefined pathway on the display, such that all linesshift in position along this pathway as new text is added, at the samerate at which new text is added, and such that when the limits of theregions defined for display of text are reached, text disappears if itwould otherwise migrate beyond those limits. Thus, according to thisdefinition, text may be scrolled in clusters of one or more units (e.g.,lines, characters, figures) at a time. In particular, scrolling meansthat text proceeds in some manner from one or more acceleration zones,through the neutral zone (where it is preferably read) and through oneor more deceleration zones prior to departure from the screen. In somepreferred embodiments, it is possible to hold some text items (e.g.,figures, tables) on the screen for longer periods of time, orindefinitely, either within the normal pathway for text, or in asupplementary location.

The following definitions of functions and terminology describe apreferred embodiment of the invention:

A text may be represented mathematically as a function t(x) over somerange of integers x, where x signifies a position within the text, andt(x−1) comes before t(x) and t(x+1) comes after t(x) for all definedvalues of t. As noted above, different elements of a text tare notrequired to be of identical types, for example, various elements may bewords, lines, characters, sounds, images, pictures, figures or otherdata that can be represented digitally. The only requirement regarding tis that it be of a sequential nature.

The descriptor s_(T)(t(x)) refers to the screen location of a text itemt(x) at a position x within a text t at some arbitrary time T. In apreferred embodiment, s_(T)(t(x)) is dependent on the pathway that texttakes as it scrolls on the display, the rate of text display ascalculated using the other described functions, and the previous cursormovements.

Values of the function d_(T)(x₁,x₂) describing the distance between twoitems at positions x₁ and x₂ within a text t at times T may bedynamically calculated from the values of x₁, x₂, and of the screenlocations s_(T)(t(x₁)) and s_(T)(t(x₂)) In some embodiments,d_(T)(x₁,x₂) may be a function of a subset of these values. For all textitems t(x₁) and t(x₂) both displayed in the neutral zone at time T,d_(T)(x₁,x₂) is defined as zero. All functions d_(T)(x₁,x₂) fulfill themathematical criteria for distance functions, such that for all x₁, x₂,and x₃ on which d_(T) is defined, d_(T)(x₁,x₂)≧0,d_(T)(x₁,x₂)=d_(T)(x₂,x₁) and d_(T)(x₁,x₂)+d_(T)(x₂,x₃)≧d_(T)(x₁,x₃). Itmay be seen that the distance between two text items may change withtime, since d_(T) may be dependent on s_(T), which in turn changes withtime. Also, this distance function does not necessarily define distancein precisely the same way for items in acceleration and decelerationzones. In one simple example of a distance function defined on astandard Windows™ text box, such that text scrolls from the bottom oneline at a time, one may define the distance between two text items asthe number of lines that separate them. In this example, if the neutralzone consisted of more than one line, this function would measuredistance between a text item and the neutral zone as the number of linesfrom the nearest border of the neutral zone, unless the text item werein the neutral zone, in which case the distance would be zero.

The rate change sign σ(x₁,x₂) is defined such that σ(x₁,x₂)=1 when x₁≧x₂and σ(x₁,x₂)=−1 when x₁<x₂, where x₁ and x₂ are integers representingpositions in a specified text. Thus, σ(x_(c),x_(n)) is positive when atext item at position x_(c) in the text t (normally defining the textitem that is closest to the cursor location) comes after a text item atposition x_(n) (normally defined in the neutral zone), indicating a needto speed up the rate of text presentation. On the other hand,σ(x_(c),x_(n)) is negative when a text item at position x_(c) in a textt (normally defining the text item that is closest to the cursorlocation) comes before a text item at position x_(n) (normally definedas in the neutral zone), indicating a need to slow down the rate of textpresentation.

The rate of text presentation r_(T) is defined such that higher ratescorrespond to faster text presentation. If the cursor is in a stop zone,r_(T) is defined as zero. Otherwise, if the cursor remains outside ofthe neutral zone, the rate of text presentation r_(T) at time T maychange as defined by a function ∂_(T)(x_(c),x_(n)) of σ(x_(c),x_(n)) andof the distance d_(T)(x_(c),x_(n)) between text t(x_(c)) displayed atthe location s_(T)(t(x_(c))) closest to that specified by the cursor andtext t(x_(n)) displayed in the neutral zone at location s_(T)(t(x_(n))),such that dr_(T)/dT=σ(x_(c),x_(n))·∂_(T)(x_(c),x_(n)), where · denotesmultiplication and where dr_(T)/dT represents the first derivative ofthe rate function r_(T) with respect to time.

The family of functions ∂_(T)(x₁,x₂) fulfills the criteria that for allx₁ and x₂, ∂_(T)(x₁,x₂)≧0, and ∂_(T)(x₁,x₂)=0 when d_(T)(x₁,x₂)=0. In apreferred embodiment, the function ∂_(T)(x₁,x₂) may be a continuous ordiscrete function of d_(T)(x₁,x₂) and σ(x₁,x₂) for all x₁, x₂, and T,but normally is further constrained such that for all x_(n), x₁, x₂, andT, where s_(T)(t(x_(n))) is in the neutral zone, ifd_(T)(x_(n),x₁)≧d_(T)(x_(n),x₂), then ∂_(T)(x_(n),x₁)≧∂_(T)(x_(n),x₂).This constraint permits definition of ∂_(T) such that the farther thereader's current position is from the neutral zone, the more dramaticthe effect on the rate of text presentation will be. In addition, thisconstraint enables another embodiment that has the merit of simplicityin which ∂_(T) is constant when d_(T) is greater than 0, therebyapplying a constant rate of acceleration or deceleration until neutralzone reading is resumed.

In many embodiments, for all x₁, x₂, and T, ∂_(T)(x₁,x₂)=∂_(T)(x₂,x₁),promoting symmetry of effect on rate when the cursor position is in thesame relative position within acceleration or deceleration zones.However, it is also possible to define the function ∂_(T)(x₁,x₂) suchthat this equality does not hold true, permitting asymmetry of theextent of rate changes associated with cursor locations in correspondinglocations of acceleration and deceleration zones. In a preferredembodiment, the reader has the ability to define or select themathematical functions that govern the rate of text presentation. Forexample, in some cases the reader may prefer to set a maximum rate oftext presentation, such that incidental presence of the cursor in anacceleration zone does not result in a rate of text presentation inexcess of the reader's preferred reading speed, which could causediscomfort and would likely only result in a downward adjustment inspeed as the reader falls behind and the cursor moves to a decelerationzone.

In a preferred embodiment, should the cursor continuously signify textwhich precedes that presented in the neutral zone, so that at some timeT the function r_(T) becomes less than zero, the text begins to scrollbackwards (along the pathway defined on the display) rather thanforwards, such that a negative rate of text presentation corresponds toreverse scrolling. Should the cursor be located in a stop zone, r_(T)becomes zero, and the scrolling of the text ceases.

In some preferred embodiments, a time lag between initiation of a ratechange and the presence of the cursor in an acceleration or decelerationzone is introduced. This feature prevents unwanted rate changes fromoccurring as a result of unintended and/or momentary movement of thecursor out of the neutral zone.

The interface of the present invention is of significant value when thecursor control device signals the computer system regarding changes inhead or eye position. Using natural head or eye movements, the user cancontrol the rate of text presentation in a manner which corresponds tothe desired reading speed. FIG. 3 illustrates one possible definition ofthese zones on a sample text which is scrolled from the bottom of astandard text window. If the user is capable of reading faster than textis being presented, the user will look down farther on the page (330),causing the rate of text display to accelerate and naturally leading thereader's head or eye back towards the neutral zone (shaded, 310). Shouldthe user need to slow down, she will fall behind, leading to eye or headmovements above the neutral zone (320), which will slow the text down,again naturally leading the eye or head back towards the neutral zone.Should the user be interrupted, and need to stop reading, turning thehead or eye away from the text would move the cursor to either stop zone(340), stopping further text scrolling, so the reader could later pickup where she left off. Even in cases where the cursor-control device isnot controlled by head or eye movements, the manual use of a mouse,trackball, or other cursor control device by a reader to track the linewhich is being read at any point in time would serve to optimize therate of text scrolling for the needs of the reader.

In a preferred embodiment, the various regions defined in thisdescription (e.g., neutral zone, stop zone, acceleration or decelerationzones [especially when the mathematical function ∂_(T) is discrete]) maybe differentiated on the page from one another, either by changingattributes of the text shown within the regions (e.g., by bolding,changes in font, color, or style), or by changing attributes of thedisplay background (e.g., shading, coloring) within the regions.

In another preferred embodiment, the method of this invention is used tocontrol an automatic teleprompter device (FIG. 4). In this case, textgenerally scrolls from the right hand side of the text window. Theneutral zone (420) is defined as the region where text is usuallypreferably read. The acceleration (430) and deceleration (410) zoneswork as described above. However, if the user has ceased reading text,the entrance of text into a deceleration zone (410) does not cause textscrolling to slow down (and behaves as a neutral zone). Moreover, inthis embodiment, when initiating reading or when re-initiating readingafter a stop zone (440) was entered (by the last word that was read),the deceleration zone (410) is redefined as a neutral zone. This enablesthe reader to pick up where she left off after stopping reading, and tonaturally begin reading at the beginning of the text. If text scrollingis stopped by entering a stop zone (440), when reading is re-initiated,in some embodiments, scrolling resumes at the scrolling speed useddirectly prior to entering the stop zone. In another preferredembodiment, a predefined speed is used when reading is started, eitherafter entering a stop zone or at the beginning of the text. In thecontext of this embodiment, text may be supplied to the user at a ratedetermined by the speed of reading aloud, information derived from thespoken words of the user being used to determine the cursor position ofthis invention. In a preferred embodiment of a teleprompter device, thecursor position may be determined by voice recognition software or othercomputer-assisted devices that is used to identify the location within atext that is being read aloud. Thus, A human user may also control adifferent type of cursor control device to specify the location at whichtext is being read aloud.

An alternative embodiment is best explained by example.Voice-recognition software may be used to regulate the speed of textpresentation such that the syllable that is being read aloud is alwaysmaintained in a preferred location. When text is not being read,scrolling stops. This method leads to frequent starting and stopping oftext movement, and may be perceived by a reader as jumping of the text.An alternative is to smooth the motion of the text in accordance withthe reader's reading speed at any given moment (or his average readingspeed over some period of time) to eliminate this jumping. For example,if the reader starts reading slower, he falls behind in the text. Thecomputer system may notice this fact, and slow the rate of textpresentation to a rate even slower than the current reading speed (basedon how far behind the reader has fallen), in order to bring the readerback into a preferred reading zone. In doing this, the reader will haveentered a deceleration zone as defined by this invention. Likewise, ifthe reader starts reading faster, he naturally enters an accelerationzone as defined by this invention. Entering these zones causes changesin the rate of text presentation as described. Even if acceleration anddeceleration zones are not explicitly defined in the context of thisembodiment, the calculations performed by the program when the locationof reading leaves the preferred reading area are identical to thosedescribed in this specification in correspondence with these zones.

This teleprompter device may employ one or more display devices(including projectors) for purposes of delineating the various zones ofthis invention or for determining the cursor position indicating wheretext is being read. In addition, reading material related to thisinvention may be supplied over a network (such as the internet or alocal area network), and information related to the location at whichtext is being read may also be transmitted over a network. This improvedteleprompter device provides enhancements in the context of newscastsand speeches, where teleprompters are traditionally used, providing theadvantage of permitting the speaker to talk at a more natural pace. Thismore natural pace also enables this device to be used by other speakers,such as talk radio hosts, dramatic actors or readers of books on tape.

In an alternative preferred embodiment, the various zones of thisinvention may be defined dynamically, such that at different times inthe use of the invention, different regions of a display may representdifferent zones. Thus, as a user reaches the end of a text, thelocations of acceleration, deceleration, and neutral zones may change,such that all text does not leave the display. Likewise, at thebeginning of presenting a text, a deceleration zone might not bedefined, in order to prevent accidentally backing up to a point at whichno text is presented. In this alternative preferred embodiment,acceleration zones can also be defined depending on which of severalpotential neutral zones the user is reading from. In a simple example ofthis embodiment, two windows are displayed. When a user is reading fromthe first window, a region at the bottom of that window is defined as anacceleration zone. Once the user reaches that acceleration zone, itcauses the next page of text to be displayed in the second window, andredefines that acceleration zone as a neutral zone, permitting continuedreading in the region previously defined as an acceleration zone.Likewise, when the user reaches an acceleration zone defined at thebottom of the second window, the succeeding page is caused to bedisplayed in the first window and that acceleration zone is redefined asa neutral zone. Corresponding deceleration zones are defined at the topof each window, but are only active after the user has first read pastthem to the next window. In some of these embodiments, one or more ofthe defined zones may be absent.

In another preferred embodiment, the invention is provided as a part ofa computer program whose purpose includes the display of text. In thissituation, an appropriate means (e.g., use of keystrokes, point andclick device action) to signal the program to begin and end theexecution of the functions of this invention is also provided.

The primary input device for this invention is a cursor control device,broadly defined as any device capable of providing input to a computerwith respect to external movements or designations of changes in screenpositions. This input need not provide specific information on screenlocation, but could also be used to identify relative movements (e.g.,based on directions) to obtain substantially the same result.Furthermore, it will be recognized by those skilled in the art thatprecise screen locations might not be computed for all cursor controldevices. Computer system acceptance of cursor control device input in amanner such that cursor-control device movements could be mathematicallymapped to screen locations with results as defined in this descriptionalso falls within the scope and claims of this invention. The cursorposition as defined in this description may be the same as the cursorwhich is controlled by any cursor control device associated with thecomputer system. A computer system may thus have multiple cursor controldevices and cursors associated with it. In addition, although the cursorposition is calculated in the course of practicing the describedpreferred embodiment of this invention, in some embodiments a cursormight not be displayed. Thus, in this description, the cursor positionmay be defined as a region of the display which corresponds to theinformation collected by a device which may be used to signal cursorposition, but does not necessarily require the display of a cursor, orthe ability of the computer to use this cursor in any context other thanthat described here.

In a further preferred embodiment, the computer may be signalled tochange the described cursor location by pressing appropriate keys on akeyboard communicating with the computer system. For example, arrow keysmay be defined in the context of the described cursor, and movement ofthe cursor could be initiated by depressing the appropriate arrow keys.In addition, in a preferred embodiment, a keyboard could be used toimplement various operations such as stopping, reverse-scrolling, orsearching a text. Similarly, other methods of providing input to acomputer system regarding movement in different directions or thelocation at which text is being read aloud, whether or not they cause acursor to move on the screen, may be used in the practice of thisinvention, not limited to the types of devices which identify eye orhead movement or recognize voice as described above.

It will be apparent to those skilled in the art that the inventiondescribed herein is not limited to the specific preferred embodimentsdiscussed above. For example, although the above discussion describes aprogram using a cursor control device which detects head or eyemovements or recognizes speech on a Windows™ platform, those skilled inthe art will recognize that the invention could also be practiced withinput devices such as trackballs, joysticks, light pens, mouses,touch-sensitive display panels and the like, and could also be usefullyimplemented on platforms such as Macintosh, X-Windows, NextStep, OS/2,Motif, Unix, Linux, Gnutella and the like. In addition, it will also beapparent to those skilled in the art that embodiments of this userinterface which provide results equivalent to those obtained using thefunctions t, d_(T), σ, ∂_(T), and r_(T) as described above also fallwithin the scope of this invention and claims, even if specific valuesfor each of these functions are not explicitly calculated. Thisinvention also may be practiced on stand-alone machines constructed forthis purpose, or on variants of computer systems, such as personaldigital assistants and the like. Moreover, those skilled in the art willrecognize that this invention or parts of this invention could bepracticed using computer hardware, bypassing the use of software for thepurpose of providing the functionality of this invention. Furthermore,those skilled in the art will recognize that this invention may bepracticed as a part of any computer program which displays text, asdefined broadly herein, including but not limited to word processors,text readers (including those which audibly read text) and other textdisplay programs. It will also be apparent to those skilled in the artthat various modifications can be made to this invention of acomputer-implemented method for providing a user interface whichoptimizes the rate of text display without departing from the scope orspirit of the invention and claims, including use of differentparameters in the setup process. It is also intended that the presentinvention cover modifications and variations of the described userinterface within the scope of the appended claims and their equivalents.

1. A method of using a computer to set a rate of text presentation on adisplay, the method comprising: (a) determining, by the computer, alocation of a cursor; (b) defining, by the computer, a first region ofthe display as a neutral zone based at least in part on the location ofthe cursor; (c) defining, by the computer, a second region of thedisplay as an acceleration zone, wherein the rate of the textpresentation increases when the cursor is located in the accelerationzone; and (d) defining, by the computer, a third region of the displayas a deceleration zone, wherein the rate of the text presentationdecreases when the cursor is located in the deceleration zone.
 2. Themethod of claim 1, wherein the change in the rate of the textpresentation is based on a mathematical function reflective of thedistance between the location of the cursor and the neutral zone.
 3. Themethod of claim 1, wherein the neutral zone comprises a region of thedisplay where text is likely to be read.
 4. A method of using a computerto set a rate of text presentation on a display, the method comprising:(a) determining, by the computer, a location of a cursor; (b)designating, by the computer, based in part on the location of thecursor, a first region of the display, a second region of the display,and a third region of the display; (c) increasing, by the computer, therate of the text presentation when the cursor is located in the firstregion of the display; (d) decreasing, by the computer, the rate of thetext presentation when the cursor is located in the second region of thedisplay; and (e) maintaining, by the computer, the rate of the textpresentation, when the cursor is located in the third region of thedisplay.
 5. The method of claim 4, wherein the change in the rate of thetext presentation is based on a mathematical function reflective of thedistance between the location of the cursor and the third region of thedisplay.
 6. The method of claim 4, wherein the third region comprises aregion of the display where text is likely to be read.